package com.ruoyi.find.service;

import com.ruoyi.find.domain.Furniture;

import java.util.List;

/**
 * 家具信息Service接口
 * 
 * @author ruoyi
 * @date 2025-05-24
 */
public interface IFurnitureService 
{
    /**
     * 查询家具信息
     * 
     * @param furnitureId 家具信息主键
     * @return 家具信息
     */
    public Furniture selectFurnitureByFurnitureId(Long furnitureId);

    /**
     * 查询家具信息列表
     * 
     * @param furniture 家具信息
     * @return 家具信息集合
     */
    public List<Furniture> selectFurnitureList(Furniture furniture);

    /**
     * 新增家具信息
     * 
     * @param furniture 家具信息
     * @return 结果
     */
    public int insertFurniture(Furniture furniture);

    /**
     * 修改家具信息
     * 
     * @param furniture 家具信息
     * @return 结果
     */
    public int updateFurniture(Furniture furniture);

    /**
     * 批量删除家具信息
     * 
     * @param furnitureIds 需要删除的家具信息主键集合
     * @return 结果
     */
    public int deleteFurnitureByFurnitureIds(Long[] furnitureIds);

    /**
     * 删除家具信息信息
     * 
     * @param furnitureId 家具信息主键
     * @return 结果
     */
    public int deleteFurnitureByFurnitureId(Long furnitureId);

    /**
     * 根据交易类型查询家具
     * 
     * @param transactionType 交易类型
     * @return 家具列表
     */
    public List<Furniture> selectFurnitureByTransactionType(Integer transactionType);

    /**
     * 根据用户ID查询发布的家具
     * 
     * @param createBy 创建人
     * @return 家具列表
     */
    public List<Furniture> selectFurnitureByCreateBy(String createBy);

    /**
     * 搜索家具
     * 
     * @param keyword 关键词
     * @return 家具列表
     */
    public List<Furniture> searchFurniture(String keyword);

    /**
     * 上架家具
     * 
     * @param furnitureId 家具ID
     * @return 结果
     */
    public int upFurniture(Long furnitureId);

    /**
     * 下架家具
     * 
     * @param furnitureId 家具ID
     * @return 结果
     */
    public int downFurniture(Long furnitureId);
}